Skip to content

http: proxying 102s.#19023

Merged
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
alyssawilk:102
Nov 17, 2021
Merged

http: proxying 102s.#19023
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
alyssawilk:102

Conversation

@alyssawilk
Copy link
Copy Markdown
Contributor

Proxying 102s from upstream

Risk Level: Low (minor refactor)
Testing: new integration test
Docs Changes: n/a
Release Notes: inline
Runtime guard: envoy.reloadable_features.proxy_102
Fixes #18844

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk self-assigned this Nov 16, 2021
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk assigned snowp and unassigned alyssawilk Nov 16, 2021
@alyssawilk
Copy link
Copy Markdown
Contributor Author

cc @RyanTheOptimist @DavidSchinazi now with 103s :-)

Copy link
Copy Markdown
Contributor

@RyanTheOptimist RyanTheOptimist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woo hoo! Looks awesome. One small question.

testEnvoyProxying1xx(false, false, true);
}

TEST_P(ProtocolIntegrationTest, EnvoyProxying102) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also have a 103 test here?

DavidSchinazi
DavidSchinazi previously approved these changes Nov 16, 2021
* bandwidth_limit: added :ref:`bandwidth limit stats <config_http_filters_bandwidth_limit>` *request_enforced* and *response_enforced*.
* config: the log message for "gRPC config stream closed" now uses the most recent error message, and reports seconds instead of milliseconds for how long the most recent status has been received.
* dns: now respecting the returned DNS TTL for resolved hosts, rather than always relying on the hard-coded :ref:`dns_refresh_rate. <envoy_v3_api_field_config.cluster.v3.Cluster.dns_refresh_rate>` This behavior can be temporarily reverted by setting the runtime guard ``envoy.reloadable_features.use_dns_ttl`` to false.
* http: envoy will now proxy 102 and 103 headers from upstream, though as with 100s only the first 1xx response headers will be sent. This behavioral change by can temporarily revertd by setting runtime guard ``envoy.reloadable_features.proxy_102_103`` to false.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* http: envoy will now proxy 102 and 103 headers from upstream, though as with 100s only the first 1xx response headers will be sent. This behavioral change by can temporarily revertd by setting runtime guard ``envoy.reloadable_features.proxy_102_103`` to false.
* http: envoy will now proxy 102 and 103 headers from upstream, though as with 100s only the first 1xx response headers will be sent. This behavioral change by can temporarily reverted by setting runtime guard ``envoy.reloadable_features.proxy_102_103`` to false.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Copy link
Copy Markdown
Contributor

@snowp snowp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@alyssawilk alyssawilk merged commit 93cdfce into envoyproxy:main Nov 17, 2021
@alyssawilk alyssawilk deleted the 102 branch August 4, 2022 01:13
RyanTheOptimist pushed a commit that referenced this pull request Jul 8, 2024
Proxying 104s from upstream.

`104 Upload Resumption Supported` is introduced in
[`draft-ietf-httpbis-resumable-upload`](https://datatracker.ietf.org/doc/draft-ietf-httpbis-resumable-upload/)
spec.

Continuation of the discussion in
#19044
Modeled after: #19023

Risk Level: Low (minor refactor)
Testing: new integration test
Docs Changes: N/A

Release Notes: 

> http: envoy will now proxy 104 headers from upstream, though as with
100s only the first 1xx response headers will be sent. This behavior can
be temporarily reverted by setting runtime guard
`envoy.reloadable_features.proxy_104` to false. 104 headers are
designated by [ietf's draft-ietf-httpbis-resumable-upload
rfc](https://datatracker.ietf.org/doc/draft-ietf-httpbis-resumable-upload/).

Runtime guard: 
> `envoy.reloadable_features.proxy_104`

---------

Signed-off-by: Neal Soni <Nealsoni00@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pass through HTTP status 102 processing

4 participants